package com.fingard.util;

import java.io.File;

import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;

public class ZipUtils {
	/**
	 * 解压
	 * 
	 * @param zipfile
	 *            压缩包文件
	 * @param dest
	 *            目标文件
	 * @param passwd
	 *            密码
	 * @throws ZipException
	 *             抛出异常
	 */
	public static void unZip(String zipfile, String dest, String charset) throws ZipException {
		ZipFile zfile = new ZipFile(zipfile);
		zfile.setFileNameCharset(charset);// 在GBK系统中需要设置
		if (!zfile.isValidZipFile()) {
			throw new ZipException("压缩文件不合法，可能已经损坏！");
		}

		File file = new File(dest);
		if (file.isDirectory() && !file.exists()) {
			file.mkdirs();
		}
		zfile.extractAll(dest);
	}
}
